* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: Arial, Helvetica, sans-serif;
}

body {

    background: #f4f4f4;

}

.login-container {

    display: flex;
    min-height: 100vh;

}


/* ================= LEFT ================= */

.login-banner {

    width: 45%;

    background: #d70018;

    display: flex;

    align-items: center;

    justify-content: center;

    color: #fff;

}

.overlay {

    width: 75%;

}

.overlay h1 {

    font-size: 60px;

    margin-bottom: 20px;

}

.slogan {

    font-size: 20px;

    margin-bottom: 60px;

    opacity: .95;

}

.feature {

    display: flex;

    align-items: center;

    gap: 15px;

    margin-bottom: 28px;

    font-size: 18px;

}

.feature i {

    font-size: 25px;

}


/* ================= RIGHT ================= */

.login-form {

    width: 55%;

    display: flex;

    justify-content: center;

    align-items: center;

}

.card {

    width: 450px;

    background: #fff;

    padding: 45px;

    border-radius: 15px;

    box-shadow: 0 15px 40px rgba(0, 0, 0, .08);

}

.card h2 {

    font-size: 32px;

    color: #333;

}

.sub-title {

    margin-top: 10px;

    color: #777;

    margin-bottom: 35px;

}

.form-group {

    margin-bottom: 22px;

}

.form-group label {

    display: block;

    margin-bottom: 10px;

    font-weight: 600;

}

.input-box {

    display: flex;

    align-items: center;

    border: 1px solid #ddd;

    border-radius: 8px;

    overflow: hidden;

    transition: .3s;

}

.input-box:focus-within {

    border-color: #d70018;

    box-shadow: 0 0 0 3px rgba(215, 0, 24, .15);

}

.input-box i {

    width: 50px;

    text-align: center;

    color: #999;

}

.input-box input {

    width: 100%;

    border: none;

    outline: none;

    height: 50px;

    font-size: 15px;

}

.eye {

    cursor: pointer;

}

.option {

    display: flex;

    justify-content: space-between;

    align-items: center;

    margin-bottom: 25px;

    font-size: 14px;

}

.option a {

    color: #d70018;

    text-decoration: none;

}

.btn-login {

    width: 100%;

    height: 50px;

    border: none;

    background: #d70018;

    color: #fff;

    font-size: 16px;

    font-weight: bold;

    border-radius: 8px;

    cursor: pointer;

    transition: .3s;

}

.btn-login:hover {

    background: #b60014;

}

.divider {

    text-align: center;

    margin: 30px 0;

    position: relative;

}

.divider::before {

    content: "";

    position: absolute;

    left: 0;

    top: 50%;

    width: 100%;

    height: 1px;

    background: #ddd;

}

.divider span {

    background: #fff;

    position: relative;

    padding: 0 15px;

    color: #999;

}

.btn-google {

    width: 100%;

    height: 50px;

    border: 1px solid #ddd;

    background: #fff;

    cursor: pointer;

    border-radius: 8px;

    font-size: 15px;

    transition: .3s;

}

.btn-google:hover {

    border-color: #d70018;

    color: #d70018;

}

.btn-google i {

    margin-right: 10px;

}

.register {

    margin-top: 30px;

    text-align: center;

}

.register a {

    color: #d70018;

    text-decoration: none;

    font-weight: bold;

}

.register a:hover {

    text-decoration: underline;

}

/* ================= Responsive ================= */

@media(max-width:992px) {

    .login-banner {

        display: none;

    }

    .login-form {

        width: 100%;

        padding: 20px;

    }

    .card {

        width: 100%;

        max-width: 450px;

    }

}